#ifndef _SCENELAYER_H_
#define _SCENELAYER_H_


#include <SECore/Layer.h>
#include <SECore/Ecs/Scene.h>
#include <memory>

namespace SEngine
{
    class SceneLayer : public Layer
    {
    public:
        SceneLayer(CoreApplication & app);
        virtual ~SceneLayer() = default;
        virtual std::string Name() override { return "SceneLayer"; };
        virtual void Attach();
        virtual void Detach() {}
        virtual void BeginFrame();
        virtual void EndFrame();
        virtual void Update(int delta);
        virtual void OnEvent(EventPtr) {}
    private:
        std::shared_ptr<Scene> m_scene;
    };
} // namespace SEngine


#endif